<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>py2rhino.util.plane</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="py2rhino-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >py2rhino</th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="py2rhino-module.html">Package&nbsp;py2rhino</a> ::
        <a href="py2rhino.util-module.html">Package&nbsp;util</a> ::
        Module&nbsp;plane
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
        <tr><td align="right"><span class="options"
            >[<a href="frames.html" target="_top">frames</a
            >]&nbsp;|&nbsp;<a href="py2rhino.util.plane-module.html"
            target="_top">no&nbsp;frames</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module plane</h1><p class="nomargin-top"><span class="codelink"><a href="py2rhino.util.plane-pysrc.html">source&nbsp;code</a></span></p>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Functions</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-Functions"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#distance_to_pln" class="summary-sig-name">distance_to_pln</a>(<span class="summary-sig-arg">plane</span>,
        <span class="summary-sig-arg">point</span>)</span><br />
      Returns the distance from a 3-D point to a plane.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#distance_to_pln">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#evaluate" class="summary-sig-name">evaluate</a>(<span class="summary-sig-arg">plane</span>,
        <span class="summary-sig-arg">parameter</span>)</span><br />
      Evaluates a plane at a U,V parameter.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#evaluate">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#intersect_3_plns" class="summary-sig-name">intersect_3_plns</a>(<span class="summary-sig-arg">plane_1</span>,
        <span class="summary-sig-arg">plane_2</span>,
        <span class="summary-sig-arg">plane_3</span>)</span><br />
      Calculates the intersection of three planes.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#intersect_3_plns">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#move" class="summary-sig-name">move</a>(<span class="summary-sig-arg">plane</span>,
        <span class="summary-sig-arg">origin</span>)</span><br />
      Moves the origin of a plane.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#move">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#closest_pnt" class="summary-sig-name">closest_pnt</a>(<span class="summary-sig-arg">plane</span>,
        <span class="summary-sig-arg">point</span>,
        <span class="summary-sig-arg">return_point</span>=<span class="summary-sig-default">pythoncom.Empty</span>)</span><br />
      Returns the point on a plane that is closest to a test point.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#closest_pnt">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#equation" class="summary-sig-name">equation</a>(<span class="summary-sig-arg">plane</span>)</span><br />
      Returns the equation of  a plane.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#equation">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#fit_from_pnts" class="summary-sig-name">fit_from_pnts</a>(<span class="summary-sig-arg">points</span>)</span><br />
      Returns a plane that was fit through an array of 3-D points.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#fit_from_pnts">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#from_frame" class="summary-sig-name">from_frame</a>(<span class="summary-sig-arg">origin</span>,
        <span class="summary-sig-arg">xaxis</span>,
        <span class="summary-sig-arg">yaxis</span>)</span><br />
      Construct a plane from a point, and two vectors in the plane.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#from_frame">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#from_normal" class="summary-sig-name">from_normal</a>(<span class="summary-sig-arg">origin</span>,
        <span class="summary-sig-arg">normal</span>)</span><br />
      Creates a plane from an origin point and a normal direction vector.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#from_normal">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#from_pnts" class="summary-sig-name">from_pnts</a>(<span class="summary-sig-arg">origin</span>,
        <span class="summary-sig-arg">point_x</span>,
        <span class="summary-sig-arg">point_y</span>)</span><br />
      Creates a plane from three non-colinear points.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#from_pnts">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#intersect_2_plns" class="summary-sig-name">intersect_2_plns</a>(<span class="summary-sig-arg">plane_1</span>,
        <span class="summary-sig-arg">point_2</span>)</span><br />
      Calculates the intersection of two planes.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#intersect_2_plns">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#xform" class="summary-sig-name">xform</a>(<span class="summary-sig-arg">plane</span>,
        <span class="summary-sig-arg">xform</span>)</span><br />
      Transforms a plane.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#xform">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#rotate" class="summary-sig-name">rotate</a>(<span class="summary-sig-arg">plane</span>,
        <span class="summary-sig-arg">angle</span>,
        <span class="summary-sig-arg">axis</span>)</span><br />
      Rotates a plane.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#rotate">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#world_x_y_plane" class="summary-sig-name">world_x_y_plane</a>()</span><br />
      Returns Rhino's world XY plane.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#world_x_y_plane">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#world_y_z_plane" class="summary-sig-name">world_y_z_plane</a>()</span><br />
      Returns Rhino's world YZ plane.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#world_y_z_plane">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="py2rhino.util.plane-module.html#world_z_x_plane" class="summary-sig-name">world_z_x_plane</a>()</span><br />
      Returns Rhino's world ZX plane.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="py2rhino.util.plane-pysrc.html#world_z_x_plane">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== FUNCTION DETAILS ==================== -->
<a name="section-FunctionDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Function Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-FunctionDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="distance_to_pln"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">distance_to_pln</span>(<span class="sig-arg">plane</span>,
        <span class="sig-arg">point</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#distance_to_pln">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Returns the distance from a 3-D point to a plane.

Parameters
==========
plane  (List of float, Required) - The plane.  The elements of a plane list are as follows:
        Element
        Description
        0
        Required.  The plane's origin (3-D point).
        1
        Required.  The plane's X axis direction (3-D vector).
        2
        Required.  The plane's Y axis direction (3-D vector).
        3
point  (List of float, Required) - The 3-D point.

Returns
=======
number - The distance if successful.
None - If not successful, or on error.

Rhinoscript
===========
This function calls the Rhinoscript function: DistanceToPlane

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="evaluate"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">evaluate</span>(<span class="sig-arg">plane</span>,
        <span class="sig-arg">parameter</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#evaluate">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Evaluates a plane at a U,V parameter.

Parameters
==========
plane  (List of float, Required) - The plane.  The elements of a plane list are as follows:
        Element
        Description
        0
        Required.  The plane's origin (3-D point).
        1
        Required.  The plane's X axis direction (3-D vector).
        2
        Required.  The plane's Y axis direction (3-D vector).
        3
parameter  (List of float, Required) - An list containing the U,V parameter to evaluate.

Returns
=======
list - The 3-D point if successful.
None - If not successful, or on error.

Rhinoscript
===========
This function calls the Rhinoscript function: EvaluatePlane

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="intersect_3_plns"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">intersect_3_plns</span>(<span class="sig-arg">plane_1</span>,
        <span class="sig-arg">plane_2</span>,
        <span class="sig-arg">plane_3</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#intersect_3_plns">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Calculates the intersection of three planes.</p>
  <h1 class="heading">Parameters</h1>
    <p>plane_1  (List of float, Required) - The first plane to intersect. 
    plane_2  (List of float, Required) - The second plane to intersect. 
    plane_3  (List of float, Required) - The third plane to intersect.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The 3-D point of intersection is successful. None - If not 
    successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: IntersectPlanes</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="move"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">move</span>(<span class="sig-arg">plane</span>,
        <span class="sig-arg">origin</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#move">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Moves the origin of a plane.

Parameters
==========
plane  (List of float, Required) - The plane.  The elements of a plane list are as follows:
        Element
        Description
        0
        Required.  The plane's origin (3-D point).
        1
        Required.  The plane's X axis direction (3-D vector).
        2
        Required.  The plane's Y axis direction (3-D vector).
        3
origin  (List of float, Required) - A 3-D point identifying the new origin location.

Returns
=======
list - The plane if successful.  The elements of a plane list are as follows:
None - If not successful, or on error.

Rhinoscript
===========
This function calls the Rhinoscript function: MovePlane

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="closest_pnt"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">closest_pnt</span>(<span class="sig-arg">plane</span>,
        <span class="sig-arg">point</span>,
        <span class="sig-arg">return_point</span>=<span class="sig-default">pythoncom.Empty</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#closest_pnt">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Returns the point on a plane that is closest to a test point.

Parameters
==========
plane  (List of float, Required) - The plane. The elements of a plane list are as follows:
        Element
        Description
        0
        Required.  The plane's origin (3-D point).
        1
        Required.  The plane's X axis direction (3-D vector).
        2
        Required.  The plane's Y axis direction (3-D vector).
        3
point  (List of float, Required) - The 3-D point to test.
return_point  (boolean, Optional) - If omitted or True, then the point on the plane that is closest to the test point is returned. If False, then the parameter of the point on the plane that is closest to the test point is returned.

Returns
=======
list - If return_point is omitted or True, then the 3-D point if successful. If return_point is False, then a list containing the U,V parameters of the point if successful.
None - If not successful, or on error.

Rhinoscript
===========
This function calls the Rhinoscript function: PlaneClosestPoint

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="equation"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">equation</span>(<span class="sig-arg">plane</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#equation">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Returns the equation of  a plane. The standard equation of a plane with a non-zero normal vector is as follows:
        Ax + By + Cz + D = 0

Parameters
==========
plane  (List of float, Required) - The plane. The elements of a plane list are as follows:
        Element
        Description
        0
        Required.  The plane's origin (3-D point).
        1
        Required.  The plane's X axis direction (3-D vector).
        2
        Required.  The plane's Y axis direction (3-D vector).
        3

Returns
=======
list - A list containing four numbers that represent the coefficients of the equation, if successful.
None - If not successful, or on error.

Rhinoscript
===========
This function calls the Rhinoscript function: PlaneEquation

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="fit_from_pnts"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">fit_from_pnts</span>(<span class="sig-arg">points</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#fit_from_pnts">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Returns a plane that was fit through an array of 3-D points.</p>
  <h1 class="heading">Parameters</h1>
    <p>points  (List of float, Required) - An list of 3-D points.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The plane if successful.  The elements of a plane list are as
    follows: None - If not successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PlaneFitFromPoints</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="from_frame"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">from_frame</span>(<span class="sig-arg">origin</span>,
        <span class="sig-arg">xaxis</span>,
        <span class="sig-arg">yaxis</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#from_frame">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Construct a plane from a point, and two vectors in the plane.</p>
  <h1 class="heading">Parameters</h1>
    <p>origin  (List of float, Required) - A 3-D point identifying the 
    origin of the plane. xaxis  (List of float, Required) - A non-zero 3-D 
    vector in the plane that determines the X axis direction. yaxis  (List 
    of float, Required) - A non-zero 3-D vector not parallel to arrXaxis 
    that is used to determine the Y axis direction. Note, arrYaxis does not
    have to be perpendicular to arrXaxis.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The plane if successful.  The elements of a plane list are as
    follows: None - If not successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PlaneFromFrame</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="from_normal"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">from_normal</span>(<span class="sig-arg">origin</span>,
        <span class="sig-arg">normal</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#from_normal">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Creates a plane from an origin point and a normal direction 
  vector.</p>
  <h1 class="heading">Parameters</h1>
    <p>origin  (List of float, Required) - A 3-D point identifying the 
    origin of the plane. normal  (List of float, Required) - A non-zero 3-D
    vector identifying the normal direction of the plane.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The plane if successful.  The elements of a plane list are as
    follows: None - If not successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PlaneFromNormal</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="from_pnts"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">from_pnts</span>(<span class="sig-arg">origin</span>,
        <span class="sig-arg">point_x</span>,
        <span class="sig-arg">point_y</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#from_pnts">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Creates a plane from three non-colinear points.</p>
  <h1 class="heading">Parameters</h1>
    <p>origin  (List of float, Required) - The first point, or origin, of 
    the plane. point_x  (List of float, Required) - A point on the plane's 
    X axis. point_y  (List of float, Required) - A point on the plane's Y 
    axis.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The plane if successful.  The elements of a plane list are as
    follows: None - If not successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PlaneFromPoints</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="intersect_2_plns"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">intersect_2_plns</span>(<span class="sig-arg">plane_1</span>,
        <span class="sig-arg">point_2</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#intersect_2_plns">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Calculates the intersection of two planes.</p>
  <h1 class="heading">Parameters</h1>
    <p>plane_1  (List of float, Required) - The first plane to intersect. 
    point_2  (List of float, Required) - The second plane to intersect.</p>
  <h1 class="heading">Returns</h1>
    <p>list - Two 3-D points identifying the starting and ending points of 
    the intersection line. None - If not successful, or on error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: 
    PlanePlaneIntersection</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="xform"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">xform</span>(<span class="sig-arg">plane</span>,
        <span class="sig-arg">xform</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#xform">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Transforms a plane.</p>
  <h1 class="heading">Parameters</h1>
    <p>plane  (List of float, Required) - The plane to transform. xform  
    (List of float, Required) - A valid 4x4 transformation matrix.</p>
  <h1 class="heading">Returns</h1>
    <p>list - The resulting plane if successful. None - On error.</p>
  <h1 class="heading">Rhinoscript</h1>
    <p>This function calls the Rhinoscript function: PlaneTransform</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="rotate"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">rotate</span>(<span class="sig-arg">plane</span>,
        <span class="sig-arg">angle</span>,
        <span class="sig-arg">axis</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#rotate">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Rotates a plane.

Parameters
==========
plane  (List of float, Required) - The plane.  The elements of a plane list are as follows:
        Element
        Description
        0
        Required.  The plane's origin (3-D point).
        1
        Required.  The plane's X axis direction (3-D vector).
        2
        Required.  The plane's Y axis direction (3-D vector).
        3
angle  (float, Required) - The rotation angle in degrees.
axis  (List of float, Required) - A non-zero 3-D vector identifying the axis of rotation.

Returns
=======
list - The plane if successful.  The elements of a plane list are as follows:
None - If not successful, or on error.

Rhinoscript
===========
This function calls the Rhinoscript function: RotatePlane

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="world_x_y_plane"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">world_x_y_plane</span>()</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#world_x_y_plane">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Returns Rhino's world XY plane. This plane could also be created as follows:
        Rhino.PlaneFromFrame Array(0.0,0.0,0.0), Array(1.0,0.0,0.0), Array(0.0,1.0,0.0)

Parameters
==========
No parameters

Returns
=======
list - Rhino's world XY plane.

Rhinoscript
===========
This function calls the Rhinoscript function: WorldXYPlane

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="world_y_z_plane"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">world_y_z_plane</span>()</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#world_y_z_plane">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Returns Rhino's world YZ plane. This plane could also be created as follows:
        Rhino.PlaneFromFrame Array(0.0,0.0,0.0), Array(0.0,1.0,0.0), Array(0.0,0.0,1.0)

Parameters
==========
No parameters

Returns
=======
list - Rhino's world YZ plane.

Rhinoscript
===========
This function calls the Rhinoscript function: WorldYZPlane

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="world_z_x_plane"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">world_z_x_plane</span>()</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="py2rhino.util.plane-pysrc.html#world_z_x_plane">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <pre class="literalblock">


Returns Rhino's world ZX plane. This plane could also be created as follows:
        Rhino.PlaneFromFrame Array(0.0,0.0,0.0), Array(0.0,0.0,1.0), Array(1.0,0.0,0.0)

Parameters
==========
No parameters

Returns
=======
list - Rhino's world ZX plane.

Rhinoscript
===========
This function calls the Rhinoscript function: WorldZXPlane

</pre>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="py2rhino-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            >py2rhino</th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Wed Sep 02 08:00:03 2009
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>
